// common/rpc_protocol.h

#ifndef RPC_PROTOCOL_H_
#define RPC_PROTOCOL_H_

#include "common.h"
#include "../lib/cJSON.h"
#include <stdarg.h>  // 用于处理可变参数

// Google Style: 函数名使用 Snake Case.
// MISRA: 函数原型清晰，参数命名明确。
char* create_json_rpc_request(const char* method_name, int32_t request_id,
                               const char* param_format, ...);

cJSON* parse_json_rpc_response(const char* response_str, int32_t expected_id);

char* create_json_rpc_success_response(cJSON* result, cJSON* id);

char* create_json_rpc_error_response(int32_t code, const char* message,
                                     cJSON* id);

#endif  // RPC_PROTOCOL_H_